// Copyright Epic Games, Inc. All Rights Reserved.

#pragma once // 防止头文件被重复包含

#include "Player/LyraPlayerSpawningManagerComponent.h" // 引入玩家生成管理器组件基类

#include "TDM_PlayerSpawningManagmentComponent.generated.h" // 引入UE生成的代码头文件

class AActor; // 前向声明AActor类
class AController; // 前向声明AController类
class ALyraPlayerStart; // 前向声明ALyraPlayerStart类
class UObject; // 前向声明UObject类

/**
 * 团队死亡模式玩家生成管理组件
 */
UCLASS() // UE类宏
class UTDM_PlayerSpawningManagmentComponent : public ULyraPlayerSpawningManagerComponent // 继承自ULyraPlayerSpawningManagerComponent
{
	GENERATED_BODY() // UE代码生成宏

public:

	UTDM_PlayerSpawningManagmentComponent(const FObjectInitializer& ObjectInitializer); // 构造函数声明

	virtual AActor* OnChoosePlayerStart(AController* Player, TArray<ALyraPlayerStart*>& PlayerStarts) override; // 重写选择玩家出生点函数
	virtual void OnFinishRestartPlayer(AController* Player, const FRotator& StartRotation) override; // 重写完成重启玩家函数

protected:

};